# -*- mode: org; -*-
#+TITLE: LF2 Data Files
#+AUTHOR: Zelphir Kaltstahl
#+EMAIL: zelphirkaltstahl@posteo.de
#+STARTUP: content indent align inlineimages hideblocks entitiesplain nologdone nologreschedule nologredeadline nologrefile
#+TODO: TODO WIP DEPRECATED | DONE
#+DATE: <2021-05-31 Mon>
#+KEYWORDS: algorithm encrypt decrypt lf2 readme little-fighter-2
#+LANGUAGE: English
#+PRIORITIES: A E E
#+EXCLUDE_TAGS: noexport
#+OPTIONS: ^:{}
#+OPTIONS: H:10
#+OPTIONS: toc:2
#+OPTIONS: tags:nil
#+OPTIONS: tasks:t
#+OPTIONS: H:6
#+OPTIONS: p:nil
#+OPTIONS: pri:nil
#+OPTIONS: prop:nil
#+OPTIONS: todo:t
#+OPTIONS: stat:nil
#+OPTIONS: |:t
#+OPTIONS: inline:nil
#+OPTIONS: date:t

* About
  :PROPERTIES:
  :CUSTOM_ID: about
  :END:

  This project contains code for decrypting data files of Little Fighter 2.

  The code is written in GNU Guile (=3.0.7=).

* Usage
  :PROPERTIES:
  :CUSTOM_ID: usage
  :END:

(project is still work-in-progress)

** Using GNU Guix
  :PROPERTIES:
  :CUSTOM_ID: usage-gnu-guix
  :END:

With GNU Guix installed, you can do the following:

1. activate the specified GNU Guix environment:

   #+begin_src shell
   bash guix-env/env.sh
   #+end_src

2. run the program:

   #+begin_src shell
   guile -L . main.scm
   #+end_src

The output should show a decrypted =stage.dat= file.

** Other ways
  :PROPERTIES:
  :CUSTOM_ID: usage-other
  :END:

All you need is a working GNU Guile installation to run the program. How you get
it, does not really matter. For example you could use your system package to
install GNU Guile, if it is available in your the package sources of your
system, or you could download the source code of GNU Guile and compile it for
your system.

* Testing
  :PROPERTIES:
  :CUSTOM_ID: testing
  :END:

You can run unit tests using the following command:

#+begin_src shell
guile -L . test/<TEST FILE>
#+end_src

* Dependencies
:PROPERTIES:
:CUSTOM_ID: dependencies
:END:

The project depends on nothing except GNU Guile. It is tested using GNU Guile
=3.0.7=, but probably works using many older versions as well.

* local variables                                                  :noexport:

# Local Variables:
# fill-column: 80
# comment-column: 50
# org-babel-noweb-wrap-start: "<<"
# org-babel-noweb-wrap-end: ">>"
# End:
